#include <iostream>

// 多继承语法 class 子类 : 继承方式 父类1, 继承方式 父类2...
// 实际开发中不建议使用多继承

class Base1
{
public:
    Base1()
    {
        m_A = 100;
    }
    int m_A;
};

class Base2
{
public:
    Base2()
    {
        m_A = 200;
    }
    int m_A;
};

class Son : public Base1, public Base2
{
public:
    Son()
    {
        m_C = 300;
        m_D = 400;
    }
    int m_C;
    int m_D;
};

void test01()
{
    Son s;
    std::cout << sizeof(s) << std::endl;
    // 出现同名成员变量时，需要加作用域进行区分
    std::cout << s.Base1::m_A << std::endl;
    std::cout << s.Base2::m_A << std::endl;
    std::cout << s.m_C << std::endl;
    std::cout << s.m_D << std::endl;
}

int main()
{
    test01();
    return 0;
}